import yfieldsControls from "../../yfieldsControls"
Component({
  behaviors: [yfieldsControls],
  properties: {
    bindValue: String,
    defaultValue: Number,
    label: String,
    value: Number,
    range: Array,
  },
  relations: {
    '../../yform/yform': {
      type: 'ancestor', // 关联的目标节点应为祖先节点
      linked: function (target) {
        this.updateFormItemValue = (curValue) => {
          target.data.form[this.data.bindValue] = curValue
          this.setData({ value: curValue })
        }
      }
    }
  },
  lifetimes: {
    attached: function () {
      // 这个defaultValue是一个" "而不是undifined或者null所以不用用？？
      const initValue = this.data.defaultValue || '0'
      this.dataset[this.data.bindValue] = initValue as any
      this.setData({ value: initValue })
    }
  },
  methods: {
    // 这个方法是父组件提供的,这里只是为了不报错
    updateFormItemValue: (_: any) => { },
    bindchange: function (event: WechatMiniprogram.PickerChange) {
      this.dataset[this.data.bindValue] = event.detail.value as any
      this.updateFormItemValue(event.detail.value)
    }
  }
})
